home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ═EMORY ═AP 6-3
-
-
- $8╞ ┴ COPY OF LOCATION $8┼ WITH THE CLOCK
- AND DATA LINES SET.
- $6000-$7╞3╞ ╙├╥┼╬2 ╙ECONDARY HIRES SCREEN, USED AS A BACKUP
- FOR ERASING MENUS AND WINDOWS.
- $7900-$7╞╞╞ ╨RINTER DRIVER ADDRESS; SEE PRINTER
- DRIVER DEFINITIONS
- $7900 ═ASTER RESET FOR A PRINTER DRIVER
- $7903 ╙ELECT PRINTER TO BEGIN TO PRINT AN
- IMAGE
- $7906 ╧UTPUT LINE OF IMAGE
- $7909 ├LOSE PRINTER, END AN IMAGE
- $790├ ╥ETURN HEIGHT AND WIDTH OF PRINTED PAGE
- $790╞ ╨RINTER DRIVER'S NAME AS A TEXT STRING
- $8000-$80╞╞ ┬╒╞0 ─ISK BUFFER #0
- $8100-$81╞╞ ┬╒╞1 ─ISK BUFFER #1, ╔NFO SECTOR
- $8200-$82╞╞ ┬╒╞2 ─ISK BUFFER #2, ─IRECTORY WORK AREA
- $8300-$83╞╞ ┬╒╞3 ─ISK BUFFER #3, ╘ABLE OF TRACKS AND
- SECTORS
- $8400-$841─ ─┼╬╘╥┘ ├URRENT DIRECTORY ENTRY, SET UP BY
- ╠╧╧╦╒╨
- $841┼-$842╞ ─╬┴═┼0 ╬AME OF DISK IN DRIVE 0 (DEVICE 8)
- $8430-$8441 ─╬┴═┼1 ╬AME OF DISK IN DRIVE 1 (DEVICE 9)
- $8442-$8453 ─╬┴═┼2 ╬AME OF DISK IN DRIVE 2 (DEVICE 10)
- $8454-$8465 ─╬┴═┼3 ╬AME OF DISK IN DRIVE 3 (DEVICE 11)
- $8466-$8488 ╒NUSED
- $8486 ┬╧╧╘─╓ ╨OINT TO INDEX FROM TO REACH $848┼
- $8489 ├╒╥─╥╓ ├URRENT DRIVE'S DEVICE NUMBER
- $848┴ ─╥╓╞╠╟ ╨OINT TO INDEX FROM TO REACH $8492
- $848┬ ╞╧╥═┴╘ ╞ORMAT FLAG OF CURRENT DISK,
- $00 - ╟┼╧╙ FORMAT
- $╞╞ - ╬ON-╟┼╧╙ DISKETTE
- $848├ ╙╦┼╫ ╙KEW FACTOR FOR DISKETTE OPERATIONS
- $848─ ╬╒═─╥╓ ╬UMBER OF DRIVE IN THE SYSTEM
- $848┼-$8491 ╟┼╧╙ USES THIS TABLE TO DESIGNATE THE
- BOOT DRIVE, BY PLACING A $01 IN THE
- LOCATION CORRESPONDING TO THE BOOT
- DRIVE. ╘HIS TABLE IS REACHED BY INDEXING
- OFF OF $8486 WITH THE DEVICE NUMBER.
- $8492-$8495 ─RIVE STATUS BYTES, INDEXED FROM $848┴
- WITH THE DEVICE NUMBER.
- ┬IT 7 - ╘URBODOS IS LOADED
- ┬IT 6 - ╘URBODOS IS RUNNING
- $8496 ├╚┴╔╬ ├URRENT ╓╠╔╥ CHAIN NUMBER
- $8497 ╬├╚┴╔╬ ╬UMBER OF ╓╠╔╥ CHAINS IN THE OPEN FILE
- $8498 ═╧─╞╠╟ ═ODIFIED FLAG, SET TO $╞╞ IF THE OPEN
- ╓╠╔╥ FILE HAS BEEN CHANGED; $00
- OTHERWISE
- $8499-$849┴ ╓╙╔┌┼ ╓╠╔╥ FILE SIZE
- $849┬-$849├ ╔═┴╔╬ ╓ECTOR FOR USER ADDITIONS TO THE ╟┼╧╙
- MAIN LOOP
- $849─-$849┼ ╔╟╔╥╤ ╓ECTOR FOR ╟┼╧╙'S ╔╥╤ ROUTINE
- $849╞-$84┴0 ╔╒╔╥╤ ╓ECTOR FOR A USER'S ADDITIONS TO THE ╔╥╤
- ROUTINE
- $84┴1-$84┴2 ╔┬╒╘╧╬ ╓ECTOR FOR BUTTON STATUS CHANGES
-
-
-
-
-
-
-
-
-
- ═EMORY ═AP 6-4
-
-
- $84┴3-$84┴4 ╔├╥╚╔╘ ╓ECTOR FOR CARRIAGE RETURN ENTERED FROM
- THE KEYBOARD
- $84┴5-$84┴6 ╔═╙─╔╥ ╓ECTOR FOR MOUSE DIRECTION CHANGE
- $84┴7-$84┴8 ╔├╠╙═╬ ╓ECTOR TO CLOSE A MENU
- $84┴9-$84┴┴ ╔┴├╘╧╬ ╘HIS VECTOR IS USED FOR A LOT OF THINGS
- THAT REQUIRE AN ACTION TO BE PERFORMED.
- ╘HESE ITEMS INCLUDE: A CHARACTER WAS
- TYPED, THE BUTTON WAS RELEASED, THE
- BUTTON WAS PRESSED AND EITHER THE MOUSE
- WAS VISIBLE OR ┬IT 5 OF ═╙╞╠┴╟ (LOCATION
- $30) WAS SET.
- $84┴┬-$84┴├ ╔═┴╥╟╬ ╓ECTOR FOR MARGINS EXCEEDED
- $84┴─-$84┴┼ ╔┴╠┴╥═ ╓ECTOR FOR THE ALARM CLOCK ROUTINE
- $84┴╞-$84┬0 ╔┬╥╦ ╓ECTOR FOR THE ┬╥╦ INSTRUCTION,
- INITIALLY THIS IS SET TO ╙┘╙┼╥╥
- $84┬1-$84┬2 ╔├╠┼┴╥ ╓ECTOR FOR A ROUTINE TO CLEAR A REGION
- OF THE SCREEN, INITIALLY SET TO ├╧╨┘┬3
- $84┬3 ─╞╘╔═┼ ─EFAULT DELAY VALUE FOR FLASHING BOXES
- $84┬4 ├╒╥╞╠╟ ╘EXT CURSOR CONTROL FLAG
- ┬IT 7 - ┬LINK THE CURSOR
- ┬IT 6 - ├URSOR IS TURNED ON
- ┬ITS 0-5 - ┬LINK RATE
- $84┬5 ├┬╞╠┴╟ ├ONTROL FLAG FOR CLICK BOX
- ┬IT 7 - ╞LASH THE BOX
- ┬IT 6 - ╧NLY INVERT THE BOX
- $84┬6 ╨╧╙╞╠╟ ═OUSE POSITION FLAG, SET BY ╔╥╤╥╘╬
- ┬IT 7 - ═OUSE IS BELOW THE BOTTOM
- OF THE WINDOW, ╫╬┬╧╘, $84┬9
- ┬IT 6 - ═OUSE IS ABOVE THE TOP OF
- THE WINDOW, ╫╬╘╧╨, $84┬8
- ┬IT 5 - ═OUSE IS TO THE LEFT OF THE
- WINDOW, ╫╬╠┼╞╘, $84┬┴-$84┬┬
- ┬IT 4 - ═OUSE IS TO THE RIGHT OF
- THE WINDOW, ╫╬╥╔╘┼, $84┬├-
- $84┬─
- ┬IT 3 - ═OUSE IS OUTSIDE THE MENU,
- ═╬╘╧╨, ═╬┬╧╘, ═╬╠┼╞╘,
- ═╬╥╔╘┼, $86├1-$86├6
- $84┬7 ╬╒═┼╬╒ ╬UMBER OF MENU LEVELS
- $84┬8-$84┬─ ╫INDOW SIZE DESCRIPTION
- $84┬8 ╫╬╘╧╨ ╘OP ROW OF WINDOW
- $84┬9 ╫╬┬╧╘ ┬OTTOM ROW OF WINDOW
- $84┬┴-$84┬┬ ╫╬╠┼╞╘ ╠EFT MARGIN OF WINDOW
- $84┬├-$84┬─ ╫╬╥╔╘┼ ╥IGHT MARGIN OF WINDOW
- $84┬┼-$84┬╞ ├╒╥╙╪ ╘EXT CURSOR'S ╪ POSITION
- $84├0 ├╒╥╙┘ ╘EXT CURSOR'S ┘ POSITION
- $84├1-$84╞╞ ─═╧╒╙┼ ╙PRITE DATA FOR DEFAULT MOUSE
- $8500 ╒NUSED
- $8501 ═┴╪╙╨─ ═AXIMUM MOUSE SPEED
- $8502 ═╔╬╙╨─ ═INIMUM MOUSE SPEED
- $8503 ┴├├┼╠ ═OUSE'S ACCELERATION RATE
- $8504 ╦┼┘ ╬EXT KEY FROM KEYBOARD BUFFER, SET BY
- ╟┼╘╔╬
-
-
-
-
-
-
-
-
-
-
- ═EMORY ═AP 6-5
-
-
- $8505 ┬╒╘╘╧╬ ├URRENT BUTTON STATUS
- $00 - ╨RESSED
- $╞╞ - ╥ELEASED
- $8506 ═╙─╔╥ ═OUSE'S CURRENT DIRECTION, 0-7,$╞╞
- 3 2 1
- 4 * 0
- 5 6 7
- $8507 ═╙╨┼┼─ ├URRENT MOUSE SPEED
- $8508-$8509 ╒NUSED
- $850┴-$850┬ ╥╬─╬╒═ ╥ANDOM NUMBER GENERATOR VALUE
- $850├-$8514 ╘═╨╞╬╘ ╘EMPORARY STORAGE FOR FONT DATA DURING
- MENU PROCESSING, COPY OF ╞╧╬╘─╘,
- LOCATIONS $26-$2┼
- $8515 ┴ COUNTER USED BY THE CLICK BOX ROUTINE,
- WHICH IS DECREMENTED BY THE ╔╥╤ SERVICE
- ROUTINE IF IT IS NONZERO. ╙EE ┴PPENDIX
- ╔╓.
- $8516 ┘┼┴╥ ├URRENT YEAR (0-99)
- $8517 ═╧╬╘╚ ├URRENT MONTH
- $8518 ─┴┘ ├URRENT DAY OF THE MONTH
- $8519 ╚╧╒╥ ├URRENT HOUR
- $851┴ ═╔╬╒╘┼ ├URRENT MINUTE OF THE HOUR
- $851┬ ╙┼├╧╬─ ├URRENT SECOND OF THE MINUTE
- $851├ ╘┼╬╘╚╙ ├URRENT TENTHS OF THE SECOND
- $851─ ╫╔╬├═─ ├OMMAND BYTE RETURNED BY THE WINDOW
- PROCESSOR
- $851┼ ╨├╧╠╧╥ ╨REFERRED COLORS; HIGH NIBBLE FOR THE
- FOREGROUND COLOR AND LOW NIBBLE FOR THE
- BACKGROUND COLOR
- $851╞-$8697 ╙┴╓┬╒╞ ╘EMPORARY STORAGE BUFFER FOR THE WINDOW
- PROCESSOR; SEE ╫╔╬─╧╫ FOR MORE
- INFORMATION
- $8698-$86┬┬ ╒NUSED
- $86├0 ╬╒═╧╨╘ ╬UMBER OF OPTIONS IN THE CURRENT MENU
- $86├1-$86├6 ├URRENT MENU SIZE DESCRIPTION
- $86├1 ═╬╘╧╨ ╘OP ROW OF MENU
- $86├2 ═╬┬╧╘ ┬OTTOM ROW OF MENU
- $86├3-$86├4 ═╬╠┼╞╘ ╠EFT MARGIN OF MENU
- $86├5-$86├6 ═╬╥╔╘┼ ╥IGHT MARGIN OF MENU
- $86├7-$86├┼ ═╙╘┴├╦ ╙TACK FOR MENU DESCRIPTORS
- $86├╞-$86─2 ╧╨╘╔╧╬ ═ENU OPTION THAT WAS CLICKED ON, INDEXED
- BY MENU LEVEL (0-3)
- $86─3-$86┼1 ╠╔═╔╘╚ ═ENU OPTION BOX LIMITS, EITHER ROW
- VALUES OR COLUMN HIGH BYTES
- $86┼2-$86╞0 ╠╔═╔╘╠ ═ENU OPTION BOX LIMITS, COLUMN LOW BYTES
- $86╞1-$8718 ╘╔═┼╥╙ ╘ABLE OF RUNNING TIMERS, SEE $8755
- $8719-$872├ ╘╔═├═─ ╘IMER COMMAND BYTES
- ┬IT 7 - ┼XECUTE ROUTINE, TIMER
- REACHED ZERO
- ┬IT 6 - ─ISABLE ROUTINE EXECUTION,
- LEAVE TIMER RUNNING
- ┬IT 5 - ╙TOP TIMER
- ┬IT 4 - ╙TOP TIMER
-
-
-
-
-
-
-
-
-
-
- ═EMORY ═AP 6-6
-
-
- $872─-$8754 ╘╔═╥╘╬ ╙UBROUTINE ADDRESSES ASSOCIATED WITH
- EACH TIMER
- $8755-$877├ ╘╔═╓┴╠ ╔NITIAL VALUES FOR TIMERS, COPIED TO
- $86╞1 WHEN THE TIMER REACHES ZERO
- $877─ ╬╒═╘╔═ ╬UMBER OF TIMERS IN TABLE
- $877┼ ─╠┘╙╨ ╙TACK POINTER FOR DELAY STACK
- $877╞-$87┴6 ─╠┘╓┴╠ ╘IME DELAY VALUES
- $87┴7-$87├┼ ─╠┘╥╘╬ ╥ETURN ADDRESSES FOR WHEN THE DELAY TIME
- HAS EXPIRED
- $87├╞ ╔╬╨╠┼╬ ╠ENGTH OF USER ENTRY
- $87─0 ═┴╪╠┼╬ ═AXIMUM LENGTH OF USER ENTRY
- $87─1-$87─2 ╘═╨╓┼├ ├OPY OF ╔═┴╥╟╬, LOCATIONS $84┴3-$84┴4
- $87─3 ═┴╥╞╠╟ ═ARGIN CONTROL FLAG,
- ┬IT 7 - ╒SER SUPPLIES THE MARGIN
- EXCEEDED ROUTINE FOR THE
- WINDOW WITH A LINE OF TEXT,
- ╔╬╨╒╘ OR WINDOW COMMAND 13
- $87─4-$87─6 ├OLUMN AND ROW VARIABLES FOR ╟╥╨╚╔├
- PROCESSOR
- $87─7 ╚┼┴─ ╚EAD OF KEYBOARD QUEUE
- $87─8 ╘┴╔╠ ╘AIL OF KEYBOARD QUEUE
- $87─9 ╤╞╠┴╟ ╔F THIS FLAG IS ZERO, THEN THE VALUE OF
- ╬╪╘╦┼┘, LOCATION $87┼┴, IS PLACED IN THE
- KEYBOARD QUEUE
- $87─┴-$87┼9 ╤╒┼╒┼ ╦EYBOARD QUEUE
- $87┼┴ ╬╪╘╦┼┘ ╬EXT KEY TO BE PLACED IN THE KEYBOARD
- BUFFER
- $87┼┬-$87╞2 ╒SED BY KEYBOARD SCAN ROUTINE FOR
- DEBOUNCING THE KEYBOARD
- $87╞3-$87╞┴ ╒SED BY KEYBOARD SCAN ROUTINE TO PREVENT
- MULTIPLE KEY HITS
- $87╞┬-$8806 ╒SED BY ─╥┴╫├╚ TO MANIPULATE THE FONT
- BIT STREAMS
- $8807 ─╫╔─╘╚ ╫IDTH OF PREVIOUS CHARACTER FOR DELETE
- CHARACTER
- $8808 ╘EMPORARY STORAGE USED BY THE CLICK BOX
- ROUTINE
- $8809 ╘EMPORARY STORAGE USED BY THE CLICK BOX
- ROUTINE
- $880┴ ┬┼╠╞╠╟ ┴ NON-ZERO VALUE DISABLES ALARM CHIMES
- $880┬ ╘EMPORARY STORAGE USED BY THE ╔╥╤
- ROUTINE
- $880├-$884╞ ├┬╘┬╠ ─EFAULT CLICK BOX TABLE USED BY THE
- WINDOW PROCESSOR; SEE ALSO ├┬╧╪┼╙
- $880├ ╬╒═├┬ ╬UMBER OF CLICK BOXES (8 MAXIMUM)
- $880─-$880┼ ├┬═╙╪ ╪ POSITION OF MOUSE AFTER CLICK BOXES
- HAVE BEEN DRAWN
- $880╞ ├┬═╙┘ ┘ POSITION OF MOUSE AFTER CLICK BOXES
- HAVE BEEN DRAWN
- $8810-$884╞ ├┬─┼╞╙ ├LICK BOX DEFINITIONS; SEE ├┬╧╪┼╙
- $8850-$8851 ╥ETURN ADDRESS OF CALLER TO ╠╧┴─╙╫
- $8852 ├OPY OF THE ╙╨ REGISTER FROM ╠╧┴─╙╫
- $8853-$8854 ╥ETURN ADDRESS OF CALLER TO ╫╔╬─╧╫
- $8855 ├OPY OF THE ╙╨ REGISTER FROM ╫╔╬─╧╫
-
-
-
-
-
-
-
-
-
- ═EMORY ═AP 6-7
-
-
- $8856-$885├ ╒SED BY COMMAND 16 IN ╫╔╬─╧╫
- $8856 ╬╒═╞╔╠ ╬UMBER OF FILES FOUND
- $8857 ╧╞╙┼╘╠ ╠EFT INDENT OF FILE SUBWINDOW
- $8858 ╧╞╙┼╘─ ─OWN INDENT OF FILE SUBWINDOW
- $8859-$885┴ ╘┬╠╨╬╘ ╨OINTER TO FILENAME TABLE
- $885┬ ╞╙╘╞╔╠ ╔NDEX OF FIRST FILE IN THE SUBWINDOW
- $885├ ╙┼╠╞╔╠ ╔NDEX ON SELECTED FILE
- $885─ ╨ARAMETER PASSED TO A PROGRAM, COPY OF
- ─╨┴╟┼, LOCATION $16
- $885┼ ├OPY OF THE STATUS REGISTER DURING
- SERIAL COMMUNICATIONS
- $885╞ ├OPY OF LOCATION $─01┴ DURING SERIAL
- COMMUNICATIONS
- $8860 ├OPY OF ╥6510, LOCATION $01, DURING
- SERIAL COMMUNICATIONS
- $8861 ├OPY OF LOCATION $─015 DURING SERIAL
- COMMUNICATION
- $8862 ├OPY OF LOCATION $──00 BEFORE SENDING
- ╘URBODOS
- $8863-$8866 ├OMMAND BUFFER FOR ╘URBODOS
- $8867 ├OPY OF LOCATION $──00 WITH SERIAL LINES
- CLEARED
- $8868 ├OPY OF LOCATION $──00 WITH CLOCK LINE
- SET
- $8869 ╘╥┘1 ╘RY COUNTER FOR DISK READ/WRITE
- OPERATIONS
- $886┴ ─╙╘┴╘ ─ISK STATUS BYTE READ BY ╘URBODOS
- $886┬ ╠─╞╠┴╟ ╠OAD FLAG
- ┬IT 0 - ─O NOT RUN THE APPLICATION
- BEING LOADED; USE ╠─┴─╥╙
- LOCATIONS $886├-$886─ AS
- LOAD ADDRESS
- $886├-$886─ ╠─┴─╥╙ ┴LTERNATE FILE LOAD ADDRESS
- $886┼ ╥EPORTS WHICH DRIVE IS BEING SEARCHED
- $00 - LOGGED DISK
- $╞╞ - CHECKING OTHER DRIVE
- $886╞-$8874 ╒SED BY ╓╠╔╥ FILE ROUTINES
- $886╞ ─╘╥┴├╦ ╘RACK NUMBER OF ╓╠╔╥ FILE DIRECTORY
- ENTRY
- $8870 ─╙┼├╘╥ ╙ECTOR NUMBER OF ╓╠╔╥ FILE DIRECTORY
- ENTRY
- $8871-$8872 ╓─╔╥╨╘ ╔NDEX INTO DIRECTORY SECTOR TO ╓╠╔╥ FILE
- DIRECTORY ENTRY
- $8873 ╓╘╥┴├╦ ╘RACK NUMBER OF ╓╠╔╥ SECTOR
- $8874 ╓╙┼├╘╥ ╙ECTOR NUMBER OF ╓╠╔╥ SECTOR
- $8875 ╘╥┘2 ╘RY COUNTER USED BY ├╫╥╔╘┼
- $8876 ╓┼╥╞╠╟ ╓ERIFY FLAG; $00=╬╧, $╞╞=┘┼╙
- $8877-$89╞╞ ╒NUSED
- $8┴00-$8┴3┼ ╙PRITE DATA BLOCK #40, ╟┼╧╙ SPRITE 0
- $8┴40-$8┴7┼ ╙PRITE DATA BLOCK #41, ╟┼╧╙ SPRITE 1
- $8┴80-$8┴┬┼ ╙PRITE DATA BLOCK #42, ╟┼╧╙ SPRITE 2
- $8┴├0-$8┴╞┼ ╙PRITE DATA BLOCK #43, ╟┼╧╙ SPRITE 3
- $8┬00-$8┬3┼ ╙PRITE DATA BLOCK #44, ╟┼╧╙ SPRITE 4
- $8┬40-$8┬7┼ ╙PRITE DATA BLOCK #45, ╟┼╧╙ SPRITE 5
-
-
-
-
-
-
-
-
-
- ═EMORY ═AP 6-8
-
-
- $8┬80-$8┬┬┼ ╙PRITE DATA BLOCK #46, ╟┼╧╙ SPRITE 6
- $8┬├0-$8┬╞┼ ╙PRITE DATA BLOCK #47, ╟┼╧╙ SPRITE 7
-
- $8├00-$8╞┼7 ├╧╠─┴╘ ├OLOR RAM FOR HIRES SCREEN
- $8╞┼8-$8╞╞╞ ╙PRITE POINTERS; USUALLY SET TO 40 TO 47
- $9000-$9╞╞╞ ╞IRST SECTION OF THE ╟┼╧╙ ╦ERNAL
- $┴000-$┬╞3╞ ╙├╥┼╬1 ╨RIMARY HIRES SCREEN
- $┬╞40-$╞┼7╞ ╙ECOND SECTION OF THE ╟┼╧╙ ╦ERNAL
- $╞┼80-$╞╞╞9 ╔NPUT DRIVER
- $╞┼80 ═ASTER RESET FOR THE INPUT DRIVER
- $╞┼83 ╙ET MOUSE SPEED TO ZERO
- $╞┼86 ╥EAD INPUT DEVICE
- $╞╞╞┴-$╞╞╞┬ ╬═╔ VECTOR
- $╞╞╞├-$╞╞╞─ ╨OWER UP RESET VECTOR
- $╞╞╞┼-$╞╞╞╞ ╔╥╤ VECTOR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔ : ╟┼╧╙ ┼RRORS ╔-1
-
-
- ╟┼╧╙ SUBROUTINES THAT ARE ABLE TO RETURN ERRORS, RETURN ONE OF
- THE FOLLOWING ERROR NUMBERS IN THE ╪ REGISTER.
-
- 2 ╔LLEGAL TRACK OR SECTOR.
- 3 ─ISK FULL.
- 5 ╞ILE NOT FOUND.
- 6 ┴TTEMPT TO DEALLOCATE AN UNALLOCATED BLOCK.
- 7 ╔LLEGAL ╓╠╔╥ CHAIN NUMBER.
- 8 ╓╠╔╥ FILE ERROR; ILLEGAL TRACK OR SECTOR SPECIFIED.
- 9 ╘OO MANY ╓╠╔╥ CHAINS.
- 10 ╞ILE IS NOT A ╓╠╔╥ FILE.
- 11 ┼ND OF FILE, FILE TOO LONG.
- 13 ─EVICE NOT PRESENT.
- 31 ╫RITE PROTECT IS ON.
- 32 ╥EAD ERROR, NO SYNC CHARACTER.
- 35 ─ISK DRIVE ╞─├ ERRORS:
- 2 ╚EADER BLOCK NOT FOUND.
- 7 ╓ERIFY ERROR AFTER WRITE.
- 9 ╚EADER BLOCK CHECKSUM ERROR.
- 10 ─ATA BLOCK TOO LONG.
- 11 ╔─ MISMATCH ERROR.
- 38 ─ISK DRIVE ╞─├ ERRORS:
- 4 ─ATA BLOCK NOT FOUND.
- 5 ─ATA BLOCK CHECKSUM ERROR.
- 39 ╫RITE ERROR. ╙EE ├╫╥╔╘┼.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╔ : ╟LOSSARY ╔╔-1
-
-
- ╘HIS IS A SIMPLE GLOSSARY FOR SOME OF THE TERMS USED IN THIS
- MANUAL.
-
- ┬╧╪ : ┴ RECTANGULAR REGION ON THE HIRES GRAPHIC SCREEN.
-
- ├╠╔├╦ : ╘O PRESS THE BUTTON. ╒SUALLY USED TO SELECT THE OPTION
- BEING POINTED TO BY THE MOUSE.
-
- ├╠╔├╦ ┬╧╪ : ┴ SPECIAL CONTROL STRUCTURE THAT APPEARS AS A BOX ON
- THE SCREEN. ╘HIS BOX IS CAPABLE OF BEING CLICKED ON WITH THE
- MOUSE. ╫HEN THE BOX IS CLICKED ON, SOME OPERATION OCCURS.
-
- ├╒╥╙╧╥ : ╘HE TEXT CURSOR THAT APPEARS WHEN THE USER IS ASKED TO
- TYPE SOMETHING IN ON THE KEYBOARD. ╔T APPEARS AS A THIN VERTICAL
- BAR.
-
- ─╧╒┬╠┼ ├╠╔├╦ : ╘O CLICK TWICE ON AN OPTION. ╘HIS IS USED AS A
- VERIFICATION METHOD, MAKING SURE THAT THE USER WISHES TO PERFORM
- THAT OPERATION.
-
- ╞╧╬╘ : ─ATA THAT REPRESENTS THE GRAPHICAL IMAGE OF A CHARACTER
- SET.
-
- ╔╬╞╧ ╙┼├╘╧╥ (╔╬╞╧╥═┴╘╔╧╬ ╙┼├╘╧╥) : ┴ SECTOR ON THE DISK
- ASSOCIATED WITH A FILE. ╘HIS CONTAINS SOME INFORMATION ABOUT THE
- ASSOCIATED FILE, IE. ICON IMAGE, LOAD ADDRESS, CLASS, AUTHOR AND
- TEXT FIELD. ╙EE CHAPTER 5.
-
- ╔╬╠╔╬┼ ─┴╘┴ : ╘HIS RELATES TO DATA THAT IS IN THE MIDDLE OF A
- REGION OF MACHINE CODE. ╘HE DATA IMMEDIATELY FOLLOWS THE
- SUBROUTINE CALL AND CONTROL RETURNS TO THE INSTRUCTION FOLLOWING
- THE DATA. ╘HIS RELIEVES THE USER OF THE BURDEN OF SETTING UP THE
- INPUT PARAMETERS TO A SUBROUTINE THAT IS SELDOMLY CALLED OR WHOSE
- DATA DOES NOT CHANGE. ╙EE ╨╞╔╠╠2 FOR AN EXAMPLE OF INLINE DATA.
-
- ╔╬╓┼╥╘ : ╘O CHANGE THE PIXELS ON THE HIRES SCREEN FROM BACKGROUND
- TO FOREGROUND, OR FROM FOREGROUND TO BACKGROUND.
-
- ═┼═╧╥┘ ╙╫┴╨╨╔╬╟ : ╒SED BY DESK ACCESSORIES TO SAVE THE MEMORY
- THAT THEY WOULD NORMALLY RESIDE IN. ╘HIS ALLOWS THEM TO BE USED
- FROM WITHIN APPLICATIONS BECAUSE THE APPLICATION'S MEMORY IS
- RESTORED WHEN THE DESK ACCESSORY IS FINISHED.
-
- ═┼╬╒ : ┴ LIST OF OPTIONS FOR THE USER TO SELECT FROM. ┴ MENU CAN
- BE EITHER HORIZONTAL OR VERTICAL. ╟ENERALLY, THE MAIN MENU IS
- HORIZONTAL AND THE SUBMENUS ARE VERTICAL.
-
- ═╧╒╙┼ : ╘HE LITTLE ARROW THAT IS CONTROLLED BY THE JOYSTICK OR
- OTHER INPUT DEVICE.
-
- ╥┼├╒╥╥╔╬╟ ╘╔═┼─ ┼╓┼╬╘ : ╘HIS IS A SUBROUTINE THAT IS TO BE
- EXECUTED EVERY SO OFTEN. ╘HE AMOUNT OF TIME BETWEEN EXECUTIONS IS
- STORED. ╘HE INTERRUPT ROUTINES DECREMENT THE TIMERS EVERY
- SIXTIETH OF A SECOND. ╫HEN THE TIMER REACHES ZERO, THE ╟┼╧╙ MAIN
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╔ : ╟LOSSARY ╔╔-2
-
-
- LOOP CALLS THE APPROPRIATE ROUTINE. ╘HIS ALLOWS SEVERAL THINGS TO
- SEEM TO HAPPEN SIMULTANEOUSLY. ╔T IS THE BEGINNINGS OF
- MULTITASKING.
-
- ╙╦┼╫ ╞┴├╘╧╥ : ╘HIS IS THE NUMBER OF SECTOR TO SKIP OVER WHEN
- LOOKING FOR CONSECUTIVE SECTORS FOR A FILE. ╔T IS 8 FOR ╘URBODOS
- AND 10 FOR ─╧╙. ╘HE REASON FOR USING A SKEW FACTOR IS EFFICIENCY.
- ╔F PHYSICALLY CONSECUTIVE SECTORS WERE USED, THE DISK DRIVE WOULD
- HAVE TO WAIT FOR A COMPLETE REVOLUTION OF THE DISK BETWEEN EACH
- SECTOR READ. ╘HE SKEW FACTOR IS SET SO THAT THIS IS NOT
- NECESSARY. ┴ SKEW FACTOR IS SET TO A VALUE SUCH THAT BY THE TIME
- THE COMPUTER HAS PROCESSED A SECTOR, THE NEXT SECTOR IS ON
- POSITION TO BE READ.
-
- ╙╘╥╔╬╟ : ┴ SEQUENCE OF BYTES TERMINATED BY A ZERO BYTE. ╒SUALLY
- USED FOR REPRESENTING TEXT.
-
- ╘╒╥┬╧─╧╙ : ╘HE SPECIAL DISK ROUTINES USED BY ┬ERKELEY ╙OFTWORKS
- TO SPEED UP DISK ACCESS.
-
- ╓╠╔╥ : ╓ARIABLE ╠ENGTH ╔NDEX ╥ECORD, A TREE STRUCTURED FILE
- STRUCTURE. ╨RESENTLY ╟┼╧╙ LIMITS FILES TO 127 OF THESE RECORDS.
-
- ╫╔╬─╧╫ : ┴ SPECIAL CONTROL STRUCTURE THAT APPEARS AS A LARGE BOX
- ON THE SCREEN, USUALLY WITH A SHADOW. ╘HIS CONTROL STRUCTURE IS
- USED TO ELICIT SOME FORM OF USER INPUT OR SELECTION.
-
- ┌┼╥╧ ┬┘╘┼ : ┴ SINGLE BYTE WITH THE VALUE OF ZERO.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╔╔ : ╞ILL ╨ATTERNS ╔╔╔-1
-
-
- 0 1 2 3
- ---------- ---------- ---------- ----------
- ╔ ╔ ╔********╔ ╔* * * * ╔ ╔* ** *╔
- ╔ ╔ ╔********╔ ╔ * * * *╔ ╔ * * ╔
- ╔ ╔ ╔********╔ ╔* * * * ╔ ╔ * * ╔
- ╔ ╔ ╔********╔ ╔ * * * *╔ ╔* ** *╔
- ╔ ╔ ╔********╔ ╔* * * * ╔ ╔* ** *╔
- ╔ ╔ ╔********╔ ╔ * * * *╔ ╔ * * ╔
- ╔ ╔ ╔********╔ ╔* * * * ╔ ╔ * * ╔
- ╔ ╔ ╔********╔ ╔ * * * *╔ ╔* ** *╔
- ---------- ---------- ---------- ----------
-
- 4 5 6 7
- ---------- ---------- ---------- ----------
- ╔***** **╔ ╔* * ╔ ╔ *** ***╔ ╔* * ╔
- ╔**** * *╔ ╔ * * ╔ ╔** *** *╔ ╔ ╔
- ╔***** **╔ ╔* * ╔ ╔ *** ***╔ ╔ * * ╔
- ╔**** * *╔ ╔ * * ╔ ╔** *** *╔ ╔ ╔
- ╔***** **╔ ╔* * ╔ ╔ *** ***╔ ╔* * ╔
- ╔**** * *╔ ╔ * * ╔ ╔** *** *╔ ╔ ╔
- ╔***** **╔ ╔* * ╔ ╔ *** ***╔ ╔ * * ╔
- ╔**** * *╔ ╔ * * ╔ ╔** *** *╔ ╔ ╔
- ---------- ---------- ---------- ----------
-
- 8 9 10 11
- ---------- ---------- ---------- ----------
- ╔ *** ***╔ ╔********╔ ╔ * * * *╔ ╔ *╔
- ╔********╔ ╔ ╔ ╔ * * * *╔ ╔ * ╔
- ╔** *** *╔ ╔********╔ ╔ * * * *╔ ╔ * ╔
- ╔********╔ ╔ ╔ ╔ * * * *╔ ╔ * ╔
- ╔ *** ***╔ ╔********╔ ╔ * * * *╔ ╔ * ╔
- ╔********╔ ╔ ╔ ╔ * * * *╔ ╔ * ╔
- ╔** *** *╔ ╔********╔ ╔ * * * *╔ ╔ * ╔
- ╔********╔ ╔ ╔ ╔ * * * *╔ ╔* ╔
- ---------- ---------- ---------- ----------
-
- 12 13 14 15
- ---------- ---------- ---------- ----------
- ╔* ╔ ╔******* ╔ ╔ *******╔ ╔********╔
- ╔ * ╔ ╔****** *╔ ╔* ******╔ ╔* * ╔
- ╔ * ╔ ╔***** **╔ ╔** *****╔ ╔* * ╔
- ╔ * ╔ ╔**** ***╔ ╔*** ****╔ ╔* * ╔
- ╔ * ╔ ╔*** ****╔ ╔**** ***╔ ╔********╔
- ╔ * ╔ ╔** *****╔ ╔***** **╔ ╔* * ╔
- ╔ * ╔ ╔* ******╔ ╔****** *╔ ╔* * ╔
- ╔ *╔ ╔ *******╔ ╔******* ╔ ╔* * ╔
- ---------- ---------- ---------- ----------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╔╔ : ╞ILL ╨ATTERNS ╔╔╔-2
-
-
- 16 17 18 19
- ---------- ---------- ---------- ----------
- ╔********╔ ╔********╔ ╔ * ╔ ╔* * ╔
- ╔* ╔ ╔* ╔ ╔ *** ╔ ╔ * * ╔
- ╔* ╔ ╔* ╔ ╔ * * ╔ ╔ * * ╔
- ╔* ╔ ╔* ╔ ╔** *╔ ╔ * *╔
- ╔* ╔ ╔********╔ ╔* ╔ ╔* * ╔
- ╔* ╔ ╔ *╔ ╔ *╔ ╔ ╔
- ╔* ╔ ╔ *╔ ╔ * ╔ ╔* * * * ╔
- ╔* ╔ ╔ *╔ ╔ * ╔ ╔ ╔
- ---------- ---------- ---------- ----------
-
- 20 21 22 23
- ---------- ---------- ---------- ----------
- ╔* ╔ ╔ * ╔ ╔* * ╔ ╔ **╔
- ╔ * ╔ ╔* * ╔ ╔ * * ╔ ╔* * ╔
- ╔ * ╔ ╔ ╔ ╔ *** *╔ ╔ * * ╔
- ╔ ╔ ╔ ╔ ╔ * * ╔ ╔ ** ╔
- ╔ * ╔ ╔ * ╔ ╔* * ╔ ╔ ** ╔
- ╔ * ╔ ╔ * * ╔ ╔ *╔ ╔ * ╔
- ╔ * ╔ ╔ ╔ ╔ *╔ ╔ *╔
- ╔ ╔ ╔ ╔ ╔ *╔ ╔ *╔
- ---------- ---------- ---------- ----------
-
- 24 25 26 27
- ---------- ---------- ---------- ----------
- ╔***** ╔ ╔* ╔ ╔ * * * *╔ ╔ * ╔
- ╔ *** * ╔ ╔* ╔ ╔* * * * ╔ ╔ * ╔
- ╔ * * ╔ ╔ * *╔ ╔ * ╔ ╔ * * * ╔
- ╔ * ***╔ ╔ ***** ╔ ╔ * ╔ ╔* * * * ╔
- ╔* ****╔ ╔ * ╔ ╔ * * * *╔ ╔********╔
- ╔ * ***╔ ╔ * ╔ ╔ * * ╔ ╔ * ╔
- ╔ * * ╔ ╔ * * ╔ ╔ * ╔ ╔ * ╔
- ╔ *** *╔ ╔*** **╔ ╔ * ╔ ╔ * ╔
- ---------- ---------- ---------- ----------
-
- 28 29 30 31
- ---------- ---------- ---------- ----------
- ╔ * ╔ ╔ *** ***╔ ╔* ******╔ ╔ ╔
- ╔ * * ╔ ╔* * *╔ ╔ ╔ ╔ * ╔
- ╔* * ╔ ╔* ****╔ ╔* ******╔ ╔ * * ╔
- ╔* * ╔ ╔* ****╔ ╔* ******╔ ╔ * * * ╔
- ╔* * ╔ ╔ *** ***╔ ╔* ** ╔ ╔ * * * *╔
- ╔* * ╔ ╔* ** ╔ ╔* ** ╔ ╔ * * * ╔
- ╔ * *╔ ╔***** ╔ ╔* ** ╔ ╔ * * ╔
- ╔ * ╔ ╔***** ╔ ╔* ** ╔ ╔ * ╔
- ---------- ---------- ---------- ----------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╓ : ╨ROGRAMMING ╬OTES ╔╓-1
-
-
- ╘HIS SECTION CONTAINS SOME INFORMATION ON WRITING PROGRAMS
- UNDER THE ╟┼╧╙ OPERATING SYSTEM.
- ╔T IS IMPORTANT THAT ALL ╟┼╧╙ PROGRAMS HAVE AN INFORMATION
- SECTOR. ╔F ONE IS MISSING, THEN ─┼╙╦╘╧╨ WILL NOT ALLOW YOU TO
- OPEN THE DISK (╔T NEEDS THE ICON DATA). ╘HEREFORE, TO CREATE ╟┼╧╙
- PROGRAMS, IT IS SUGGESTED THAT A SMALL ┬┴╙╔├-┴SSEMBLY LANGUAGE
- SHELL BE ADDED TO THE BEGINNING OF A USER'S PROGRAM. ╘HIS SHELL
- WILL CONSIST OF A ┬┴╙╔├ ╙┘╙ STATEMENT AND SOME ASSEMBLY CODE TO
- DELETE THE FILE (╒SE ─┼╠┼╘┼) AND RESAVE THE FILE AS A ╟┼╧╙ FILE
- (╒SE ╙┴╓┼). ┴FTER HAVING DONE THIS, FOR COMPLETENESS, THE INFO
- SECTOR THAT IS IN MEMORY SHOULD BE REWRITTEN BECAUSE ╙┴╓┼ WILL
- CLEAR THE TEXT FIELD. ┴LSO THE DIRECTORY SHOULD BE MODIFIED TO
- INCLUDE THE PROPER TIME AND DATE OF FILE CREATION (╒SE ╠╧╧╦╒╨ AND
- ╫╥╔╘┼). ┴FTER ALL THIS HAS BEEN DONE, A CALL TO ╔╬╔╘01 AND ╥┼╙╘╥╘
- WILL RESTART ╟┼╧╙. ╘HE ├╧╬╓┼╥╘ PROGRAM BY ┬╙╫ DOES NOT CONVERT
- ITSELF IN THIS WAY. ╔T IS DESIGNED SO THAT THE INFORMATION SECTOR
- IS EXACTLY IN THE LAST DISK SECTOR OF THE FILE. ╔T THEN MODIFIES
- THE SECTOR LINKS OF THE LAST TWO SECTORS AND CHANGES THE
- DIRECTORY ENTRY FOR CONVERT. ╘HIS LEAVES THE CONVERSION CODE AS
- PART OF THE FINAL PROGRAM; THE METHOD OUTLINED ABOVE DOES NOT.
- ┴NOTHER POSSIBILITY IS TO USE THE SAME METHOD AS ┬╙╫, BUT TO MAKE
- THE INFO SECTOR THE FIRST SECTOR AFTER THE INITIAL SHELL. ╘HEN
- ONLY 1 SECTOR AND THE DIRECTORY NEED BE MODIFIED, AND SECTORS FOR
- THE SHELL PROGRAM CAN BE FREED UP. ╘HIS IS ALL UP TO A USER'S
- DISCRETION.
- ╔F A PROGRAM WITH A ┬┴╙╔├ START (10 ╙┘╙2061), IS TO USE ╟┼╧╙
- IT MUST FIRST DISABLE INTERRUPTS (╙┼╔) AND THEN SET THE SYSTEM TO
- ALL ╥┴═ BY LOADING LOCATION $01 WITH A VALUE OF $30. ╘HIS IS
- IMPORTANT BECAUSE ╟┼╧╙ RESIDES BENEATH THE ├OMMODORE'S ╥╧═S AND
- ╔/╧ SECTION. ╫HEN ╟┼╧╙ NEEDS TO DO ╔/╧, IT SWITCHES IN THE ╔/╧
- PORTS, RELIEVING THE USER OF THIS BURDEN. ┴LSO A CALL TO ╔╬╔╘01
- WILL SET THINGS UP SO THAT THE ╟┼╧╙ GRAPHIC SCREEN IS DISPLAYED.
- ┴PPLICATION PROGRAMS HAVE EVERYTHING SET UP FOR THEM BEFORE
- THEY ARE RUN. ╘O TERMINATE AN APPLICATION PROPERLY, A ╩═╨ ╥┼╙╘╥╘
- IS MADE AT SOME POINT. ╔F THE PROGRAM IS SIMPLY A MENU, LIKE
- ├ONVERT, THEN A CALL TO ═┼╬╒ AND AN ╥╘╙ IS SUFFICIENT TO BE THE
- MAIN BODY OF CODE. ╧NE OF THE MENU OPTIONS SHOULD MAKE THE JUMP
- TO ╥┼╙╘╥╘. ═ORE ON THAT ╥╘╙ LATER.
- ─ESK ┴CCESSORIES ARE SIMILAR TO APPLICATIONS EXCEPT THAT
- THEY HAVE THE MEMORY THAT THEY RESIDE IN SAVED TO DISK FIRST.
- ╘HIS MEANS THAT THEY SHOULD BE RELATIVELY SHORT PROGRAMS. ╘O
- DECIDE WHETHER SOMETHING SHOULD BE A DESK ACCESSORY OR AN
- APPLICATION, ONE NEED ONLY DETERMINE WHETHER IT IS NECESSARY TO
- BE ABLE TO RUN THE PROGRAM FROM WITHIN ANOTHER APPLICATION (IE.
- LIKE RUNNING ╨HOTO ═ANAGER FROM ╟┼╧PAINT). ─ESK ACCESSORIES ALSO
- HAVE SOME RESTRICTIONS THAT DO NOT APPLY TO APPLICATIONS. ╔N
- ORDER FOR A DESK ACCESSORY TO OPEN A WINDOW, THE WINDOW STORAGE
- AREA ╙┴╓┬╒╞ MUST BE SAVED AND LATER RESTORED. ╘HIS IS BECAUSE
- ╟┼╧╙ SAVED EVERYTHING BEFORE EXECUTING THE DESK ACCESSORY. ╘O
- TERMINATE A DESK ACCESSORY, THE VECTOR ╔═┴╔╬ SHOULD BE LOADED
- WITH ╠─╙╫┴╨ AND AN ╥╘╙ SHOULD BE MADE. ═ORE ON THE ╥╘╙ IN A
- MOMENT. ┴NOTHER MEANS OF TERMINATING A DESK ACCESSORY IS SIMPLY
- TO JUMP TO ╠─╙╫┴╨. ╔T IS THE DESK ACCESSORY'S RESPONSIBILITY TO
- CLEAN UP AFTER ITSELF AND TO TAKE ITSELF OUT OF MEMORY.
-
-
-
-
-
-
-
-
-
- ┴PPENDIX ╔╓ : ╨ROGRAMMING ╬OTES ╔╓-2
-
-
- ╘HE ╥╘╙ MENTIONED IN THE PREVIOUS PARAGRAPHS CAUSES ╟┼╧╙ TO
- RETURN TO ITS MAIN ROUTINE (═┴╔╬). ╘HIS IS A SIMPLE POLLING LOOP
- THAT LOOKS FOR THINGS TO DO. ╚ALF OF ╟┼╧╙ IS INTERRUPT DRIVEN AND
- HALF OF IT IS POLLED. ╔T FIRST CHECKS IF THE USER HAS DONE
- ANYTHING, IN THE FOLLOWING ORDER:
- 1) ═OUSE DIRECTION CHANGE, JUMP THROUGH ╔═╙─╔╥
- 2) ┬UTTON STATUS CHANGE, JUMP THROUGH ╔┬╒╘╧╬
- 3) ╦EY ENTERED FROM KEYBOARD, JUMP THROUGH ╔├╥╚╔╘
- 4) ═OUSE OUTSIDE MENU, JUMP THROUGH ╔├╠╙═╬
- ╘HEN THE MAIN LOOP LOOKS FOR SOMETHING TO DO BY CHECKING THE
- RECURRING TIMED EVENTS AND THE DELAYED ROUTINES, EXECUTING THOSE
- THAT ARE READY. ╘HE MAIN LOOP THEN MAINTAINS THE MEMORY IMAGE OF
- THE TIME AND DATE AND HANDLES THE ALARM CLOCK. ╞INALLY, IF THERE
- IS SOMETHING AT ╔═┴╔╬, IT IS CALLED AND THE LOOP STARTS OVER.
- ╘HE ╔╥╤ INTERRUPT ROUTINE DOES MAINLY ╔/╧ OPERATIONS. ╞IRST
- IT DECREMENTS LOCATION $8515 IF IT IS NON-ZERO (COUNTER FOR CLICK
- BOX HANDLER). ╘HEN IT SCANS THE KEYBOARD AND ENTERS ANY DEPRESSED
- KEYS INTO THE KEYBOARD BUFFER. ╠OCATION $880┴ IS THEN DECREMENTED
- IF IT IS NON-ZERO (CHIME COUNTER). ╬EXT, A JUMP THROUGH ╔╟╔╥╤ IS
- MADE TO ╔╥╤╥╘╬. ┴FTER WHICH, A JUMP IS MADE THROUGH ╔╒╔╥╤ TO
- PROCESS ANY USER ADDITIONS TO THE ╔╥╤ SERVICE ROUTINE. ╘HESE
- ADDITIONS SHOULD BE FAIRLY SHORT SO AS NOT TO MAKE THE INTERRUPT
- TAKE TOO LONG. ╞INALLY THE STATUS QUO IS RESTORED AND THINGS GO
- ON THEIR MERRY WAY.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ╘HIS SPECIAL ╨┼╘╙├╔╔ ┴╥├ED VERSION OF THIS ═ANUAL WAS EDITED AND CREATED
- BY ┼ARL ╟OLDBERG OF THE ├OMMODORE ╒SERS ╟ROUP OF ╦ANSAS ├ITY. 03-─EC-86
-
-
-
-